<html>
<head><meta charset="utf-8"><title>caching and salsa · wg-traits · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/index.html">wg-traits</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/caching.20and.20salsa.html">caching and salsa</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="239277841"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/caching%20and%20salsa/near/239277841" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/caching.20and.20salsa.html#239277841">(May 18 2021 at 15:54)</a>:</h4>
<p>I have been hacking more on caching and salsa.</p>



<a name="239277849"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/caching%20and%20salsa/near/239277849" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/caching.20and.20salsa.html#239277849">(May 18 2021 at 15:54)</a>:</h4>
<p>I forget where I wrote up my plan.</p>



<a name="239281630"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/caching%20and%20salsa/near/239281630" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oliver <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/caching.20and.20salsa.html#239281630">(May 18 2021 at 16:14)</a>:</h4>
<p>the last planning meeting maybe: <a href="https://hackmd.io/j8KTAWU2TzC-STlsB8ZSVQ">https://hackmd.io/j8KTAWU2TzC-STlsB8ZSVQ</a></p>



<a name="239283250"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/caching%20and%20salsa/near/239283250" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/caching.20and.20salsa.html#239283250">(May 18 2021 at 16:24)</a>:</h4>
<p>no, I had a more detailed write-up from a long time back</p>



<a name="239283469"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/caching%20and%20salsa/near/239283469" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/caching.20and.20salsa.html#239283469">(May 18 2021 at 16:25)</a>:</h4>
<p>probably <a href="https://hackmd.io/FCrUiW27TnKw3MTvRtfPjQ">this hackmd</a></p>



<a name="239283472"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/caching%20and%20salsa/near/239283472" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/caching.20and.20salsa.html#239283472">(May 18 2021 at 16:25)</a>:</h4>
<p>not sure how up to date it is</p>



<a name="239283507"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/caching%20and%20salsa/near/239283507" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/caching.20and.20salsa.html#239283507">(May 18 2021 at 16:25)</a>:</h4>
<p>but right now I'm working on refactoring the code so that the logic that will eventually go into salsa is in a distinct crate</p>



<a name="239283543"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/caching%20and%20salsa/near/239283543" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/caching.20and.20salsa.html#239283543">(May 18 2021 at 16:26)</a>:</h4>
<p>and has no connection to chalk-specific types or concepts</p>



<a name="239422735"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/caching%20and%20salsa/near/239422735" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/caching.20and.20salsa.html#239422735">(May 19 2021 at 13:22)</a>:</h4>
<p>stuff I did this morning:</p>



<a name="239422788"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/caching%20and%20salsa/near/239422788" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/caching.20and.20salsa.html#239422788">(May 19 2021 at 13:23)</a>:</h4>
<ul>
<li>I am factoring out the logic for iteratively processing queries until a fixed point (minimal or maximal) is reached</li>
</ul>



<a name="239422817"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/caching%20and%20salsa/near/239422817" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/caching.20and.20salsa.html#239422817">(May 19 2021 at 13:23)</a>:</h4>
<ul>
<li>from the logic specific to the "chalk function"</li>
</ul>



<a name="239422863"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/caching%20and%20salsa/near/239422863" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/caching.20and.20salsa.html#239422863">(May 19 2021 at 13:23)</a>:</h4>
<p>e.g., "search each of the relevant program clauses"</p>



<a name="239422879"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/caching%20and%20salsa/near/239422879" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/caching.20and.20salsa.html#239422879">(May 19 2021 at 13:23)</a>:</h4>
<p>this is basically done in my latest commit, but the code structure is a mess</p>



<a name="239422907"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/caching%20and%20salsa/near/239422907" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/caching.20and.20salsa.html#239422907">(May 19 2021 at 13:23)</a>:</h4>
<p>the intent is that this first bullet moves to salsa</p>



<a name="239423041"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/caching%20and%20salsa/near/239423041" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/caching.20and.20salsa.html#239423041">(May 19 2021 at 13:24)</a>:</h4>
<p>the branch: <a href="https://github.com/nikomatsakis/chalk-ndm/tree/extract-generic-cache-logic">https://github.com/nikomatsakis/chalk-ndm/tree/extract-generic-cache-logic</a></p>



<a name="239423341"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/caching%20and%20salsa/near/239423341" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/caching.20and.20salsa.html#239423341">(May 19 2021 at 13:26)</a>:</h4>
<p><a href="https://github.com/rust-lang/chalk/pull/708">https://github.com/rust-lang/chalk/pull/708</a></p>



<a name="239423393"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/caching%20and%20salsa/near/239423393" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/caching.20and.20salsa.html#239423393">(May 19 2021 at 13:26)</a>:</h4>
<p><span class="user-mention" data-user-id="232957">@Jack Huey</span> I am realizing I should probably move this to a tracking issue and get you started on reviewing it</p>



<a name="239423401"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/caching%20and%20salsa/near/239423401" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/caching.20and.20salsa.html#239423401">(May 19 2021 at 13:26)</a>:</h4>
<p>before you have some monster PR to read</p>



<a name="239423772"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/caching%20and%20salsa/near/239423772" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/caching.20and.20salsa.html#239423772">(May 19 2021 at 13:28)</a>:</h4>
<p>yes</p>



<a name="239423855"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/caching%20and%20salsa/near/239423855" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/caching.20and.20salsa.html#239423855">(May 19 2021 at 13:29)</a>:</h4>
<p>I think I'm far enough along to see the path now</p>



<a name="239423874"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/caching%20and%20salsa/near/239423874" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/caching.20and.20salsa.html#239423874">(May 19 2021 at 13:29)</a>:</h4>
<p>I saw it in my head before but it was too vague to make real</p>



<a name="239423920"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/caching%20and%20salsa/near/239423920" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/caching.20and.20salsa.html#239423920">(May 19 2021 at 13:30)</a>:</h4>
<p>I could probably also start mentoring someone if they were interested instead of finishing it myself (I know there have been various folks interested in learning more about chalk)</p>



<a name="239423991"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/caching%20and%20salsa/near/239423991" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/caching.20and.20salsa.html#239423991">(May 19 2021 at 13:30)</a>:</h4>
<p>it'd have to be someone willing to commit some time though :)</p>



<a name="239424002"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/caching%20and%20salsa/near/239424002" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/caching.20and.20salsa.html#239424002">(May 19 2021 at 13:30)</a>:</h4>
<p>I want to see this through</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>